The completed program is below.
Here is the complete program. As soon as the for-loop finds the slot that contains the target, the method returns to the caller with the index of that slot. If the for-loop reaches the end of the array, -1 is returned.
class Searcher { // seek target in the array of strings. // return the index where found, or -1 if not found. public static int search( String[] array, String target ) { for ( int j=0; j < array.length; j++ ) if ( array[j] != null ) if ( array[j].equals( target ) ) return j ; // Target found. return -1 ; // Target not found } } class SearchTester { public static void main ( String[] args ) { final int theSize = 20 ; String[] strArray = new String[ theSize ] ; strArray[0] = "Boston" ; strArray[1] = "Albany" ; strArray[2] = "Detroit" ; strArray[3] = "Phoenix" ; strArray[4] = "Peoria" ; strArray[6] = "Albany" ; strArray[7] = "Houston" ; strArray[8] = "Hartford" ; // print out only those slots with data for (int j=0; j < strArray.length; j++ ) if ( strArray[j] != null ) System.out.println( j + ": " + strArray[j] ); // search for "Peoria" int where = Searcher.search( strArray, "Peoria" ); if ( where >= 0 ) System.out.println("Target found in slot " + where ); else System.out.println("Target not found" ); } }